package axis

import (
	
)

// Option represents an option that can be used to configure an axis.
type Option func(axis *Axis)

// Axis represents a visualization axis.
type Axis struct {
	Builder *sdk.Axis
}

// New creates a new Axis configuration.
func ( ...Option) *Axis {
	 := &Axis{Builder: &sdk.Axis{
		Format:  "short",
		Show:    true,
		LogBase: 1,
	}}

	for ,  := range  {
		()
	}

	return 
}

// Unit sets the unit of the data displayed on this axis.
func ( string) Option {
	return func( *Axis) {
		.Builder.Format = 
	}
}

// Hide makes the axis hidden.
func () Option {
	return func( *Axis) {
		.Builder.Show = false
	}
}

// LogBase allows to change the logarithmic scale used to display the values.
func ( int) Option {
	return func( *Axis) {
		.Builder.LogBase = 
	}
}

// Label sets the label on this axis.
func ( string) Option {
	return func( *Axis) {
		.Builder.Label = 
	}
}

// Min sets the minimum value expected on this axis.
func ( float64) Option {
	return func( *Axis) {
		.Builder.Min = sdk.NewFloatString()
	}
}

// Max sets the maximum value expected on this axis.
func ( float64) Option {
	return func( *Axis) {
		.Builder.Max = sdk.NewFloatString()
	}
}